/*
 * Copyright (c) 2023 CompanyNameMagicTag.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef MAINVIEW_H
#define MAINVIEW_H
#include <iostream>
#include "components/ui_view_group.h"
#include "components/ui_radio_button.h"
#include "components/ui_button.h"
#include "components/ui_chart.h"
#include "components/ui_list.h"
#include "components/icon_adapter.h"
#include "components/ui_digital_clock.h"
#include "components/ui_slider.h"
#include "components/ui_image_view.h"
#include "components/ui_analog_clock.h"
#include "animator/animator.h"
#include "components/ui_image_view.h"
#include "components/ui_sweep_clock.h"
#include "animator/animator.h"
#include "common/image_cache_manager.h"
#include <time.h>
#include "sys/time.h"

namespace OHOS {
class MainView : public UIView {
public:
    MainView() {};
    ~MainView() {};
    void Init();
    void DeInit();
    UIView* GetView();

private:
    MainView(const MainView&) = delete;
    MainView& operator=(const MainView&) = delete;
    MainView(MainView&&) = delete;
    MainView& operator=(MainView&&) = delete;

    UIViewGroup* container_ = nullptr;
    UIRadioButton* radioButton1_ = nullptr;
    UIButton* button1_ = nullptr;
    UIChartPolyline* uiChart1_ = nullptr;
    UIList* list1_ = nullptr;
    IconAdapter* list1adapter_  = nullptr;
    List<IconItemNode*>* list1data_  = nullptr;
    UIDigitalClock* digitalClock1_ = nullptr;
    UISlider* slider1_ = nullptr;
    UIImageView* image2_ = nullptr;
    UIAnalogClock* analogClock1_ = nullptr;
    AnimatorCallback* analogClock1callback_ = nullptr;
    Animator *analogClock1animator_ = nullptr;
    UISweepClock* sweepClock1_ = nullptr;
    AnimatorCallback* sweepClock1callback_ = nullptr;
    Animator *sweepClock1animator_ = nullptr;
    UIImageView* image1_ = nullptr;
};
} // namespace OHOS
#endif /* MAINVIEW_H */
